package com.yidu.ladder.base.service;

import java.util.List;
import java.util.Map;

import com.yidu.ladder.base.domain.Bus;
import com.yidu.ladder.base.domain.BusVo;
import com.yidu.ladder.base.domain.Subset;

/**
 * 班车业务逻辑接口类
 * 
 * @author yy
 * @since 2019-12-2
 *
 */
public interface BusService {

	/**
	 * 查询所有班车
	 * 
	 * @return
	 */
	public List<Bus> findAllBus();

	/**
	 * 分页查询班车
	 * 
	 * @param busVo 班车包装
	 * @return 前端页面需要的键值对数据类型
	 */
	public Map<String, Object> queryBusByCriteriaWithPage(BusVo busVo);

	/**
	 * 添加班车
	 * 
	 * @param bus 班车
	 * @return 添加成功返回1，否则返回0
	 */
	public int addBus(Bus bus);

	/**
	 * 修改班车
	 * 
	 * @param bus 班车
	 * @return 修改成功返回1，否则返回0
	 */
	public boolean updateBus(Bus bus);

	/**
	 * 冻结或还原班车
	 * 
	 * @param busId 班车Id
	 * @param flag  得到状态
	 * @return 冻结或修改成功返回1，否则返回0
	 */
	public abstract boolean frozenOrRecoveBus(String busId, String useable);

	/**
	 * 给下拉框赋值
	 * 
	 * @return 赋值成功返回1，否则返回0
	 */
	public List<Subset> selectAllBus();
}
